home *** CD-ROM | disk | FTP | other *** search
/ Gekkan Dennou Club 147 / Gekkan Dennou Club - 2000.8 Vol. 147 (Japan).7z / Gekkan Dennou Club - 2000.8 Vol. 147 (Japan) (Track 1).bin / docs / perl / mscalar.pl < prev    next >
Perl Script  |  2000-06-25  |  696b  |  45 lines

  1. # タイによるスカラーの監視
  2. package MonScalar;
  3.  
  4. sub TIESCALAR {
  5.     my ($pkg, $name, $value) = @_;
  6.     my $obj = { name => $name, value => $value };
  7.     bless $obj, $pkg;
  8.     $obj;
  9. }
  10.  
  11. sub FETCH {
  12.     my $obj = shift;
  13.     print 'Read : $', $obj->{'name'}, " -> $obj->{'value'}\n";
  14.     $obj->{'value'};
  15. }
  16.  
  17. sub STORE {
  18.     my ($obj, $new_value) = @_;
  19.     print 'Write : $', $obj->{'name'}," <- $new_value\n";
  20.     $obj->{'value'} = $new_value;
  21. }
  22.  
  23. sub DESTROY {
  24.     print "DESTORY\n";
  25. }
  26.  
  27.  
  28. package main;
  29.  
  30. $x = 10;
  31. tie $x, 'MonScalar', 'x', $x;
  32.  
  33. $y = $x;
  34. print "y -> $y\n";
  35.  
  36. $x = 100;
  37. $z = $x;
  38. print "z -> $z\n";
  39.  
  40. untie $x;
  41.  
  42. print "x -> $x\n";
  43.  
  44. # end of file;
  45.